<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>scaler: Scaler_v7_0</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">scaler
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Scaler_v7_0</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_scaler___config.html">XScaler_Config</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_scaler.html">XScaler</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_scaler_aperture.html">XScalerAperture</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_scaler_coeff_bank.html">XScalerCoeffBank</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_scaler_start_fraction.html">XScalerStartFraction</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaffc0b21a166aa9e92694a6c6187dd804"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gaffc0b21a166aa9e92694a6c6187dd804">XScaler_CallBack</a>) (void *CallBackRef)</td></tr>
<tr class="separator:gaffc0b21a166aa9e92694a6c6187dd804"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gab58cc7fda3710c523652c5a3fb8606b2"><td class="memItemLeft" align="right" valign="top">s16 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gab58cc7fda3710c523652c5a3fb8606b2">XScaler_GenCoefTable</a> (u32 Tap, u32 Phase)</td></tr>
<tr class="separator:gab58cc7fda3710c523652c5a3fb8606b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15c509c2050d8b9fd555d07e7553ff74"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga15c509c2050d8b9fd555d07e7553ff74">XScaler_CfgInitialize</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, <a class="el" href="struct_x_scaler___config.html">XScaler_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
<tr class="separator:ga15c509c2050d8b9fd555d07e7553ff74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ecf963404e7cdbb8bff372e8f3eabe7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, <a class="el" href="struct_x_scaler_aperture.html">XScalerAperture</a> *AperturePtr)</td></tr>
<tr class="separator:ga9ecf963404e7cdbb8bff372e8f3eabe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05d4fd7d79fb73ff82a13a81ac7c58ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, <a class="el" href="struct_x_scaler_aperture.html">XScalerAperture</a> *AperturePtr)</td></tr>
<tr class="separator:ga05d4fd7d79fb73ff82a13a81ac7c58ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76bd8e1ac73b7a0eb116206f97fe8502"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga76bd8e1ac73b7a0eb116206f97fe8502">XScaler_SetPhaseNum</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, u16 VertPhaseNum, u16 HoriPhaseNum)</td></tr>
<tr class="separator:ga76bd8e1ac73b7a0eb116206f97fe8502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52861252f27f173a530bb0c3758ab4d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga52861252f27f173a530bb0c3758ab4d0">XScaler_GetPhaseNum</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, u16 *VertPhaseNumPtr, u16 *HoriPhaseNumPtr)</td></tr>
<tr class="separator:ga52861252f27f173a530bb0c3758ab4d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a13eaec4e81070651fd5d38cecca772"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, <a class="el" href="struct_x_scaler_start_fraction.html">XScalerStartFraction</a> *StartFractionPtr)</td></tr>
<tr class="separator:ga5a13eaec4e81070651fd5d38cecca772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5956eef6c759a3e38a15b670a3bea159"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, <a class="el" href="struct_x_scaler_start_fraction.html">XScalerStartFraction</a> *StartFractionPtr)</td></tr>
<tr class="separator:ga5956eef6c759a3e38a15b670a3bea159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9223c7dbff7bbc1d126fd64f87af8767"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga9223c7dbff7bbc1d126fd64f87af8767">XScaler_GetCoeffBankSharingInfo</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, u8 *ChromaFormat, u8 *ChromaLumaShareCoeff, u8 *HoriVertShareCoeff)</td></tr>
<tr class="separator:ga9223c7dbff7bbc1d126fd64f87af8767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf94585c2494fc64cdbe6ec17e0d8fade"><td class="memItemLeft" align="right" valign="top">s16 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup</a> (u32 InSize, u32 OutSize, u32 Tap, u32 Phase)</td></tr>
<tr class="separator:gaf94585c2494fc64cdbe6ec17e0d8fade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38beb0d182b0e794be3a56d7e5bb91f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga38beb0d182b0e794be3a56d7e5bb91f9">XScaler_LoadCoeffBank</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, <a class="el" href="struct_x_scaler_coeff_bank.html">XScalerCoeffBank</a> *CoeffBankPtr)</td></tr>
<tr class="separator:ga38beb0d182b0e794be3a56d7e5bb91f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga538a5c851ce9b06c883dcd89f8746d19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga538a5c851ce9b06c883dcd89f8746d19">XScaler_SetActiveCoeffSet</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, u8 VertSetIndex, u8 HoriSetIndex)</td></tr>
<tr class="separator:ga538a5c851ce9b06c883dcd89f8746d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc47b324dca847f1319cece8f261ce25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gabc47b324dca847f1319cece8f261ce25">XScaler_GetActiveCoeffSet</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, u8 *VertSetIndexPtr, u8 *HoriSetIndexPtr)</td></tr>
<tr class="separator:gabc47b324dca847f1319cece8f261ce25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe44e79802fd28186ccd2f2d83653cad"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gafe44e79802fd28186ccd2f2d83653cad">XScaler_GetVersion</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr)</td></tr>
<tr class="separator:gafe44e79802fd28186ccd2f2d83653cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5015fa5909437174587cb5309b3d6c3b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_scaler___config.html">XScaler_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga5015fa5909437174587cb5309b3d6c3b">XScaler_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="separator:ga5015fa5909437174587cb5309b3d6c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fa8567138c2521f1eb9516fe1335ac3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga6fa8567138c2521f1eb9516fe1335ac3">XScaler_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr class="separator:ga6fa8567138c2521f1eb9516fe1335ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd9fccf4a3c562830e9f26140aaec73f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gabd9fccf4a3c562830e9f26140aaec73f">XScaler_SetCallBack</a> (<a class="el" href="struct_x_scaler.html">XScaler</a> *InstancePtr, void *CallBackFunc, void *CallBackRef)</td></tr>
<tr class="separator:gabd9fccf4a3c562830e9f26140aaec73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga473f61cffa8975d0d6dfe8083dcfcc52"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga473f61cffa8975d0d6dfe8083dcfcc52">XScaler_AllocCoefsBuff</a> (struct coefs_struct *Coefs, u32 Max_Taps, u32 Max_Phases)</td></tr>
<tr class="separator:ga473f61cffa8975d0d6dfe8083dcfcc52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafebe13974f673bd353037006d03c0b9c"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gafebe13974f673bd353037006d03c0b9c">XScaler_Sine</a> (float x)</td></tr>
<tr class="separator:gafebe13974f673bd353037006d03c0b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d67001f95f90ad1bdbcc8186ad0a824"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga1d67001f95f90ad1bdbcc8186ad0a824">XScaler_Lanczos</a> (float x, int a)</td></tr>
<tr class="separator:ga1d67001f95f90ad1bdbcc8186ad0a824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6caf402acf9848ad358b8d918e2d354d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga6caf402acf9848ad358b8d918e2d354d">XScaler_GetLanczosCoeffs</a> (float p, short int icoeffs[], int NCOEFF)</td></tr>
<tr class="separator:ga6caf402acf9848ad358b8d918e2d354d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga59e75ae65e791e6f8c59aea4251a6c9e"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga59e75ae65e791e6f8c59aea4251a6c9e">XScaler_CoefficientBinScalingFactors</a> [<a class="el" href="group__scaler__v7__0.html#ga34514a6a241c077925def186c8f574b9">XSCL_NUM_COEF_BINS</a>]</td></tr>
<tr class="separator:ga59e75ae65e791e6f8c59aea4251a6c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59e75ae65e791e6f8c59aea4251a6c9e"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga59e75ae65e791e6f8c59aea4251a6c9e">XScaler_CoefficientBinScalingFactors</a> [<a class="el" href="group__scaler__v7__0.html#ga34514a6a241c077925def186c8f574b9">XSCL_NUM_COEF_BINS</a>]</td></tr>
<tr class="separator:ga59e75ae65e791e6f8c59aea4251a6c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Utility Macros</h2></td></tr>
<tr class="memitem:ga6ea10f4260b54a61665ead26cb995ba3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga6ea10f4260b54a61665ead26cb995ba3">round</a>(x)&#160;&#160;&#160;((x) &gt;= 0 ? (s32)((x) + 0.5) : (s32)((x) - 0.5))</td></tr>
<tr class="separator:ga6ea10f4260b54a61665ead26cb995ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Macros for operating a Scaler device</h2></td></tr>
<tr class="memitem:ga11b1c70d6b01a8580d0927a5b7608306"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga11b1c70d6b01a8580d0927a5b7608306">XScaler_Enable</a>(InstancePtr)</td></tr>
<tr class="separator:ga11b1c70d6b01a8580d0927a5b7608306"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a6fff5d653283fd1f7c2f847a627eb1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga2a6fff5d653283fd1f7c2f847a627eb1">XScaler_Disable</a>(InstancePtr)</td></tr>
<tr class="separator:ga2a6fff5d653283fd1f7c2f847a627eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36a6a3558f50268cc8d0eb8c0c49fbd4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga36a6a3558f50268cc8d0eb8c0c49fbd4">XScaler_IsEnabled</a>(InstancePtr)</td></tr>
<tr class="separator:ga36a6a3558f50268cc8d0eb8c0c49fbd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9e172e8a8d4297bd6335bf56e737f63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gad9e172e8a8d4297bd6335bf56e737f63">XScaler_CheckDone</a>(InstancePtr)</td></tr>
<tr class="separator:gad9e172e8a8d4297bd6335bf56e737f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga691e8f66bcfa68f9f5b579e5ba9c419c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga691e8f66bcfa68f9f5b579e5ba9c419c">XScaler_EnableRegUpdate</a>(InstancePtr)</td></tr>
<tr class="separator:ga691e8f66bcfa68f9f5b579e5ba9c419c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c037ab5c5ad13c876710f922f7f462f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga3c037ab5c5ad13c876710f922f7f462f">XScaler_DisableRegUpdate</a>(InstancePtr)</td></tr>
<tr class="separator:ga3c037ab5c5ad13c876710f922f7f462f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec93141b509d2de3eb24bba0be1a11fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gaec93141b509d2de3eb24bba0be1a11fb">XScaler_CoeffLoadReady</a>(InstancePtr)</td></tr>
<tr class="separator:gaec93141b509d2de3eb24bba0be1a11fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f2543d3a5403ef7500313e5cba33725"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga6f2543d3a5403ef7500313e5cba33725">XScaler_GetError</a>(InstancePtr)&#160;&#160;&#160;<a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, (<a class="el" href="group__scaler__v7__0.html#ga46168fdcac2eefaef465be9fc0ca8d71">XSCL_ERROR_OFFSET</a>))</td></tr>
<tr class="separator:ga6f2543d3a5403ef7500313e5cba33725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6387eceaded147af9969660ff9db3d37"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga6387eceaded147af9969660ff9db3d37">XScaler_Reset</a>(InstancePtr)</td></tr>
<tr class="separator:ga6387eceaded147af9969660ff9db3d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7399e42eebd2fa8a023b2fe388bd379b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga7399e42eebd2fa8a023b2fe388bd379b">XScaler_IsResetDone</a>(InstancePtr)</td></tr>
<tr class="separator:ga7399e42eebd2fa8a023b2fe388bd379b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf25a61c418f9fd6f356e25944c3cf9df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a>(N)&#160;&#160;&#160;((N) * ((N) + 1) / 2)</td></tr>
<tr class="separator:gaf25a61c418f9fd6f356e25944c3cf9df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6896596b825bad380377dbb656b072b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga6896596b825bad380377dbb656b072b8">XScaler_CoefTapOffset</a>(Tap)</td></tr>
<tr class="separator:ga6896596b825bad380377dbb656b072b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6cdd2b14967aa84aefcd7fddc954dfd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gad6cdd2b14967aa84aefcd7fddc954dfd">XScaler_CoefPhaseOffset</a>(Tap,  Phase)</td></tr>
<tr class="separator:gad6cdd2b14967aa84aefcd7fddc954dfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa76376ee856a3d0a2c4384e8fc643e10"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gaa76376ee856a3d0a2c4384e8fc643e10">XScaler_IntrEnable</a>(InstancePtr)</td></tr>
<tr class="separator:gaa76376ee856a3d0a2c4384e8fc643e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93b65ea252a3870965ff562579585569"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga93b65ea252a3870965ff562579585569">XScaler_IntrDisable</a>(InstancePtr)</td></tr>
<tr class="separator:ga93b65ea252a3870965ff562579585569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf994f67d5c003a5ef3205a3716384a44"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#gaf994f67d5c003a5ef3205a3716384a44">XScaler_IntrClear</a>(InstancePtr)</td></tr>
<tr class="separator:gaf994f67d5c003a5ef3205a3716384a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Scaler Register Access Macro Definition</h2></td></tr>
<tr class="memitem:ga71879103578af25139e64893eeb4697d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>(BaseAddress,  RegOffset)&#160;&#160;&#160;XScaler_In32((BaseAddress) + (RegOffset))</td></tr>
<tr class="separator:ga71879103578af25139e64893eeb4697d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga932189ed3aeff002acff68afc90548ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>(BaseAddress,  RegOffset,  Data)&#160;&#160;&#160;XScaler_Out32((BaseAddress) + (RegOffset), (Data))</td></tr>
<tr class="separator:ga932189ed3aeff002acff68afc90548ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga6ea10f4260b54a61665ead26cb995ba3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define round</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;((x) &gt;= 0 ? (s32)((x) + 0.5) : (s32)((x) - 0.5))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This macro calculates the integral value nearest to x rounding half-way cases away from zero, regardless of the current rounding direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>has a float type value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The integral value nearest to x rounding half-way cases away from zero, regardless of the current rounding direction.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: s32 <a class="el" href="group__scaler__v7__0.html#ga6ea10f4260b54a61665ead26cb995ba3" title="This macro calculates the integral value nearest to x rounding half-way cases away from zero...">round(float x)</a>; </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gad9e172e8a8d4297bd6335bf56e737f63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_CheckDone</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                                        (<a class="code" href="group__scaler__v7__0.html#ga1ef15601863381aafc7e1a31189643de">XSCL_STATUS_OFFSET</a>)) &amp; \</div>
<div class="line">                (XSCL_STS_COEF_W_RDY_MASK) ? TRUE : FALSE</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga1ef15601863381aafc7e1a31189643de"><div class="ttname"><a href="group__scaler__v7__0.html#ga1ef15601863381aafc7e1a31189643de">XSCL_STATUS_OFFSET</a></div><div class="ttdeci">#define XSCL_STATUS_OFFSET</div><div class="ttdoc">Status Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:97</div></div>
</div><!-- fragment -->
<p>This macro checks if a Scaler operation is finished. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if the Scaler operation is finished.</li>
<li>FALSE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: boolean <a class="el" href="group__scaler__v7__0.html#gad9e172e8a8d4297bd6335bf56e737f63" title="This macro checks if a Scaler operation is finished. ">XScaler_CheckDone(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="gaec93141b509d2de3eb24bba0be1a11fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_CoeffLoadReady</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                                        (<a class="code" href="group__scaler__v7__0.html#ga1ef15601863381aafc7e1a31189643de">XSCL_STATUS_OFFSET</a>)) &amp; \</div>
<div class="line">                (XSCL_STS_COEF_W_RDY_MASK) ? TRUE : FALSE</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga1ef15601863381aafc7e1a31189643de"><div class="ttname"><a href="group__scaler__v7__0.html#ga1ef15601863381aafc7e1a31189643de">XSCL_STATUS_OFFSET</a></div><div class="ttdeci">#define XSCL_STATUS_OFFSET</div><div class="ttdoc">Status Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:97</div></div>
</div><!-- fragment -->
<p>This macro checks if a Scaler device is ready to accept the coefficients the software is going to load. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if the Scaler device is ready for the coefficient load.</li>
<li>FALSE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: boolean <a class="el" href="group__scaler__v7__0.html#gaec93141b509d2de3eb24bba0be1a11fb" title="This macro checks if a Scaler device is ready to accept the coefficients the software is going to loa...">XScaler_CoeffLoadReady(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="gad6cdd2b14967aa84aefcd7fddc954dfd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_CoefPhaseOffset</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Tap, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Phase&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">(((Phase) &lt; 32) ? \</div>
<div class="line">                (Tap) * (<a class="code" href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a>((Phase) - 1) - 1) : \</div>
<div class="line">                ((Phase) == 32) ? \</div>
<div class="line">                        (Tap) * (<a class="code" href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a>(16) - 1) : \</div>
<div class="line">                        (Tap) * (<a class="code" href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a>(16) - 1 + 32))</div>
<div class="ttc" id="group__scaler__v7__0_html_gaf25a61c418f9fd6f356e25944c3cf9df"><div class="ttname"><a href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a></div><div class="ttdeci">#define XScaler_TriangularNumber(N)</div><div class="ttdoc">This macro calculates the N-th Triangular number: 1 + 2 + ... </div><div class="ttdef"><b>Definition:</b> xscaler.h:560</div></div>
</div><!-- fragment -->
<p>This macro calculates the offset of the first coefficient Phase from the beginning of a coefficient Tap given the currently used Phase and Tap numbers for scaling operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Tap</td><td>indicates the number of Taps used for the scaling operation. </td></tr>
    <tr><td class="paramname">Phase</td><td>indicates the number of Phases used for the scaling operation.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The offset of the first coefficient Phase from the beginning of a coefficient Tap. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__scaler__v7__0.html#gad6cdd2b14967aa84aefcd7fddc954dfd" title="This macro calculates the offset of the first coefficient Phase from the beginning of a coefficient T...">XScaler_CoefPhaseOffset(u32 Tap, u32 Phase)</a>; </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6896596b825bad380377dbb656b072b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_CoefTapOffset</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Tap</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a>((Tap) - 1) - 1) * \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a>(16) - 1 + 32 + 64))</div>
<div class="ttc" id="group__scaler__v7__0_html_gaf25a61c418f9fd6f356e25944c3cf9df"><div class="ttname"><a href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df">XScaler_TriangularNumber</a></div><div class="ttdeci">#define XScaler_TriangularNumber(N)</div><div class="ttdoc">This macro calculates the N-th Triangular number: 1 + 2 + ... </div><div class="ttdef"><b>Definition:</b> xscaler.h:560</div></div>
</div><!-- fragment -->
<p>This macro calculates the offset of a coefficient Tap from the beginning of a coefficient Bin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Tap</td><td>indicates the index of the coefficient tap in the coefficient Bin.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The offset of the coefficient TAP from the beginning of a coefficient Bin. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__scaler__v7__0.html#ga6896596b825bad380377dbb656b072b8" title="This macro calculates the offset of a coefficient Tap from the beginning of a coefficient Bin...">XScaler_CoefTapOffset(u32 Tap)</a>; </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2a6fff5d653283fd1f7c2f847a627eb1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_Disable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>), \</div>
<div class="line">                        ((<a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                        (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>)) &amp; (~(<a class="code" href="group__scaler__v7__0.html#ga72794ba6b74a4a904adda7d3219fac84">XSCL_CTL_SW_EN_MASK</a>)))))</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga72794ba6b74a4a904adda7d3219fac84"><div class="ttname"><a href="group__scaler__v7__0.html#ga72794ba6b74a4a904adda7d3219fac84">XSCL_CTL_SW_EN_MASK</a></div><div class="ttdeci">#define XSCL_CTL_SW_EN_MASK</div><div class="ttdoc">Enable the Scaler on the next video frame Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:186</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gae56be419a3a532f1aa5a3b4b2830e1bf"><div class="ttname"><a href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a></div><div class="ttdeci">#define XSCL_CTL_OFFSET</div><div class="ttdoc">Control Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:96</div></div>
</div><!-- fragment -->
<p>This macro disables a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#ga2a6fff5d653283fd1f7c2f847a627eb1" title="This macro disables a Scaler device. ">XScaler_Disable(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga3c037ab5c5ad13c876710f922f7f462f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_DisableRegUpdate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>), \</div>
<div class="line">                        ((<a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                        (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>))) &amp; (~(<a class="code" href="group__scaler__v7__0.html#gacd1ba8ed7d6126b98c11832176f2f7b9">XSCL_CTL_RUE_MASK</a>))))</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gacd1ba8ed7d6126b98c11832176f2f7b9"><div class="ttname"><a href="group__scaler__v7__0.html#gacd1ba8ed7d6126b98c11832176f2f7b9">XSCL_CTL_RUE_MASK</a></div><div class="ttdeci">#define XSCL_CTL_RUE_MASK</div><div class="ttdoc">Register Update Enable Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:189</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gae56be419a3a532f1aa5a3b4b2830e1bf"><div class="ttname"><a href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a></div><div class="ttdeci">#define XSCL_CTL_OFFSET</div><div class="ttdoc">Control Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:96</div></div>
</div><!-- fragment -->
<p>This macro tells a Scaler device not to pick up the register value changes until <a class="el" href="group__scaler__v7__0.html#ga691e8f66bcfa68f9f5b579e5ba9c419c" title="This macro tells a Scaler device to pick up the register value changes made so far. ">XScaler_EnableRegUpdate()</a> is invoked again. </p>
<p>This is very useful when multiple registers need to be updated. All register updates could be made with no tight time constraints with the help of this macro.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#ga3c037ab5c5ad13c876710f922f7f462f" title="This macro tells a Scaler device not to pick up the register value changes until XScaler_EnableRegUpd...">XScaler_DisableRegUpdate(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga11b1c70d6b01a8580d0927a5b7608306"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_Enable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>), \</div>
<div class="line">                        ((<a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                                (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>))) | (<a class="code" href="group__scaler__v7__0.html#ga72794ba6b74a4a904adda7d3219fac84">XSCL_CTL_SW_EN_MASK</a>)))</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga72794ba6b74a4a904adda7d3219fac84"><div class="ttname"><a href="group__scaler__v7__0.html#ga72794ba6b74a4a904adda7d3219fac84">XSCL_CTL_SW_EN_MASK</a></div><div class="ttdeci">#define XSCL_CTL_SW_EN_MASK</div><div class="ttdoc">Enable the Scaler on the next video frame Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:186</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gae56be419a3a532f1aa5a3b4b2830e1bf"><div class="ttname"><a href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a></div><div class="ttdeci">#define XSCL_CTL_OFFSET</div><div class="ttdoc">Control Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:96</div></div>
</div><!-- fragment -->
<p>This macro enables a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#ga11b1c70d6b01a8580d0927a5b7608306" title="This macro enables a Scaler device. ">XScaler_Enable(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga691e8f66bcfa68f9f5b579e5ba9c419c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_EnableRegUpdate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>), \</div>
<div class="line">                        ((<a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                        (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>))) | (<a class="code" href="group__scaler__v7__0.html#gacd1ba8ed7d6126b98c11832176f2f7b9">XSCL_CTL_RUE_MASK</a>)))</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gacd1ba8ed7d6126b98c11832176f2f7b9"><div class="ttname"><a href="group__scaler__v7__0.html#gacd1ba8ed7d6126b98c11832176f2f7b9">XSCL_CTL_RUE_MASK</a></div><div class="ttdeci">#define XSCL_CTL_RUE_MASK</div><div class="ttdoc">Register Update Enable Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:189</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gae56be419a3a532f1aa5a3b4b2830e1bf"><div class="ttname"><a href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a></div><div class="ttdeci">#define XSCL_CTL_OFFSET</div><div class="ttdoc">Control Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:96</div></div>
</div><!-- fragment -->
<p>This macro tells a Scaler device to pick up the register value changes made so far. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#ga691e8f66bcfa68f9f5b579e5ba9c419c" title="This macro tells a Scaler device to pick up the register value changes made so far. ">XScaler_EnableRegUpdate(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga6f2543d3a5403ef7500313e5cba33725"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_GetError</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, (<a class="el" href="group__scaler__v7__0.html#ga46168fdcac2eefaef465be9fc0ca8d71">XSCL_ERROR_OFFSET</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>This macro checks the error status of a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The error type, if any. Use XSCL_STSERR_* defined in <a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a> to interpret the value.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__scaler__v7__0.html#ga6f2543d3a5403ef7500313e5cba33725" title="This macro checks the error status of a Scaler device. ">XScaler_GetError(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="gaf994f67d5c003a5ef3205a3716384a44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_IntrClear</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#ga1ef15601863381aafc7e1a31189643de">XSCL_STATUS_OFFSET</a>), (<a class="code" href="group__scaler__v7__0.html#ga65ce0d708b68d348a87a0ec81990faaa">XSCL_IXR_COEF_W_RDY_MASK</a>))</div>
<div class="ttc" id="group__scaler__v7__0_html_ga65ce0d708b68d348a87a0ec81990faaa"><div class="ttname"><a href="group__scaler__v7__0.html#ga65ce0d708b68d348a87a0ec81990faaa">XSCL_IXR_COEF_W_RDY_MASK</a></div><div class="ttdeci">#define XSCL_IXR_COEF_W_RDY_MASK</div><div class="ttdoc">If 1, Coefficient values can be written into the core Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:203</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga1ef15601863381aafc7e1a31189643de"><div class="ttname"><a href="group__scaler__v7__0.html#ga1ef15601863381aafc7e1a31189643de">XSCL_STATUS_OFFSET</a></div><div class="ttdeci">#define XSCL_STATUS_OFFSET</div><div class="ttdoc">Status Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:97</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
</div><!-- fragment -->
<p>This macro clears/acknowledges Coef_FIFO_Ready interrupt of a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#gaf994f67d5c003a5ef3205a3716384a44" title="This macro clears/acknowledges Coef_FIFO_Ready interrupt of a Scaler device. ">XScaler_IntrClear(XScaler *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga6fa8567138c2521f1eb9516fe1335ac3">XScaler_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga93b65ea252a3870965ff562579585569"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_IntrDisable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#ga708a719de7bf763b425f8eb7a77f73d1">XSCL_IRQ_EN_OFFSET</a>), 0)</div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga708a719de7bf763b425f8eb7a77f73d1"><div class="ttname"><a href="group__scaler__v7__0.html#ga708a719de7bf763b425f8eb7a77f73d1">XSCL_IRQ_EN_OFFSET</a></div><div class="ttdeci">#define XSCL_IRQ_EN_OFFSET</div><div class="ttdoc">For detecting operation status Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:99</div></div>
</div><!-- fragment -->
<p>This macro disables the Coef_FIFO_Ready interrupt on a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#ga93b65ea252a3870965ff562579585569" title="This macro disables the Coef_FIFO_Ready interrupt on a Scaler device. ">XScaler_IntrDisable(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="gaa76376ee856a3d0a2c4384e8fc643e10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_IntrEnable</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#ga708a719de7bf763b425f8eb7a77f73d1">XSCL_IRQ_EN_OFFSET</a>),(<a class="code" href="group__scaler__v7__0.html#ga65ce0d708b68d348a87a0ec81990faaa">XSCL_IXR_COEF_W_RDY_MASK</a>)) \</div>
<div class="ttc" id="group__scaler__v7__0_html_ga65ce0d708b68d348a87a0ec81990faaa"><div class="ttname"><a href="group__scaler__v7__0.html#ga65ce0d708b68d348a87a0ec81990faaa">XSCL_IXR_COEF_W_RDY_MASK</a></div><div class="ttdeci">#define XSCL_IXR_COEF_W_RDY_MASK</div><div class="ttdoc">If 1, Coefficient values can be written into the core Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:203</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga708a719de7bf763b425f8eb7a77f73d1"><div class="ttname"><a href="group__scaler__v7__0.html#ga708a719de7bf763b425f8eb7a77f73d1">XSCL_IRQ_EN_OFFSET</a></div><div class="ttdeci">#define XSCL_IRQ_EN_OFFSET</div><div class="ttdoc">For detecting operation status Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:99</div></div>
</div><!-- fragment -->
<p>This macro enables the Coef_FIFO_Ready interrupt on a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#gaa76376ee856a3d0a2c4384e8fc643e10" title="This macro enables the Coef_FIFO_Ready interrupt on a Scaler device. ">XScaler_IntrEnable(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga36a6a3558f50268cc8d0eb8c0c49fbd4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_IsEnabled</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>)) &amp; (<a class="code" href="group__scaler__v7__0.html#ga72794ba6b74a4a904adda7d3219fac84">XSCL_CTL_SW_EN_MASK</a>) ? TRUE : FALSE</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga72794ba6b74a4a904adda7d3219fac84"><div class="ttname"><a href="group__scaler__v7__0.html#ga72794ba6b74a4a904adda7d3219fac84">XSCL_CTL_SW_EN_MASK</a></div><div class="ttdeci">#define XSCL_CTL_SW_EN_MASK</div><div class="ttdoc">Enable the Scaler on the next video frame Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:186</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gae56be419a3a532f1aa5a3b4b2830e1bf"><div class="ttname"><a href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a></div><div class="ttdeci">#define XSCL_CTL_OFFSET</div><div class="ttdoc">Control Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:96</div></div>
</div><!-- fragment -->
<p>This macro checks if a Scaler device is enabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- TRUE if the Scaler device is enabled.<ul>
<li>FALSE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: boolean <a class="el" href="group__scaler__v7__0.html#ga36a6a3558f50268cc8d0eb8c0c49fbd4" title="This macro checks if a Scaler device is enabled. ">XScaler_IsEnabled(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga7399e42eebd2fa8a023b2fe388bd379b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_IsResetDone</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                                        (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>)) &amp; \</div>
<div class="line">                                        (<a class="code" href="group__scaler__v7__0.html#ga1146f8faa2cf957ec30f5d9006462bd9">XSCL_CTL_RESET_MASK</a>) ? FALSE : TRUE</div>
<div class="ttc" id="group__scaler__v7__0_html_ga71879103578af25139e64893eeb4697d"><div class="ttname"><a href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a></div><div class="ttdeci">#define XScaler_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">Read the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:469</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga1146f8faa2cf957ec30f5d9006462bd9"><div class="ttname"><a href="group__scaler__v7__0.html#ga1146f8faa2cf957ec30f5d9006462bd9">XSCL_CTL_RESET_MASK</a></div><div class="ttdeci">#define XSCL_CTL_RESET_MASK</div><div class="ttdoc">Software reset bit Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:195</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gae56be419a3a532f1aa5a3b4b2830e1bf"><div class="ttname"><a href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a></div><div class="ttdeci">#define XSCL_CTL_OFFSET</div><div class="ttdoc">Control Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:96</div></div>
</div><!-- fragment -->
<p>This macro checks if the reset on a Scaler device is done. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if the reset is done;</li>
<li>FALSE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: boolean <a class="el" href="group__scaler__v7__0.html#ga7399e42eebd2fa8a023b2fe388bd379b" title="This macro checks if the reset on a Scaler device is done. ">XScaler_IsResetDone(XScaler *InstancePtr)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga71879103578af25139e64893eeb4697d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XScaler_In32((BaseAddress) + (RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Read the given register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset to be read</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 32-bit value of the register</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d" title="Read the given register. ">XScaler_ReadReg(u32 BaseAddress, u32 RegOffset)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gabc47b324dca847f1319cece8f261ce25">XScaler_GetActiveCoeffSet()</a>, <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, <a class="el" href="group__scaler__v7__0.html#ga52861252f27f173a530bb0c3758ab4d0">XScaler_GetPhaseNum()</a>, <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#gafe44e79802fd28186ccd2f2d83653cad">XScaler_GetVersion()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6387eceaded147af9969660ff9db3d37"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_Reset</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                (<a class="code" href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a>), (<a class="code" href="group__scaler__v7__0.html#ga1146f8faa2cf957ec30f5d9006462bd9">XSCL_CTL_RESET_MASK</a>))</div>
<div class="ttc" id="group__scaler__v7__0_html_ga932189ed3aeff002acff68afc90548ea"><div class="ttname"><a href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a></div><div class="ttdeci">#define XScaler_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">Write the given register. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:487</div></div>
<div class="ttc" id="group__scaler__v7__0_html_ga1146f8faa2cf957ec30f5d9006462bd9"><div class="ttname"><a href="group__scaler__v7__0.html#ga1146f8faa2cf957ec30f5d9006462bd9">XSCL_CTL_RESET_MASK</a></div><div class="ttdeci">#define XSCL_CTL_RESET_MASK</div><div class="ttdoc">Software reset bit Mask. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:195</div></div>
<div class="ttc" id="group__scaler__v7__0_html_gae56be419a3a532f1aa5a3b4b2830e1bf"><div class="ttname"><a href="group__scaler__v7__0.html#gae56be419a3a532f1aa5a3b4b2830e1bf">XSCL_CTL_OFFSET</a></div><div class="ttdeci">#define XSCL_CTL_OFFSET</div><div class="ttdoc">Control Offset. </div><div class="ttdef"><b>Definition:</b> xscaler_hw.h:96</div></div>
</div><!-- fragment -->
<p>This macro resets a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#ga6387eceaded147af9969660ff9db3d37" title="This macro resets a Scaler device. ">XScaler_Reset(XScaler *InstancePtr)</a>; </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga15c509c2050d8b9fd555d07e7553ff74">XScaler_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf25a61c418f9fd6f356e25944c3cf9df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_TriangularNumber</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">N</td><td>)</td>
          <td>&#160;&#160;&#160;((N) * ((N) + 1) / 2)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>This macro calculates the N-th Triangular number: 1 + 2 + ... </p>
<p>+ N</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">N</td><td>indicates the positive integer number to calculate the N-th Triangular number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The N-th triangular number.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u32 <a class="el" href="group__scaler__v7__0.html#gaf25a61c418f9fd6f356e25944c3cf9df" title="This macro calculates the N-th Triangular number: 1 + 2 + ... ">XScaler_TriangularNumber(u32 N)</a>; </dd></dl>

</div>
</div>
<a class="anchor" id="ga932189ed3aeff002acff68afc90548ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XScaler_WriteReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;XScaler_Out32((BaseAddress) + (RegOffset), (Data))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Write the given register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>is the base address of the device </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the register offset to be written </td></tr>
    <tr><td class="paramname">Data</td><td>is the 32-bit value to write to the register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea" title="Write the given register. ">XScaler_WriteReg(u32 BaseAddress, u32 RegOffset, u32 Data)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga38beb0d182b0e794be3a56d7e5bb91f9">XScaler_LoadCoeffBank()</a>, <a class="el" href="group__scaler__v7__0.html#ga538a5c851ce9b06c883dcd89f8746d19">XScaler_SetActiveCoeffSet()</a>, <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>, <a class="el" href="group__scaler__v7__0.html#ga76bd8e1ac73b7a0eb116206f97fe8502">XScaler_SetPhaseNum()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3abc1cd00268ddb2feb3717293df522e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTHORI_FIRSTPXL_MASK&#160;&#160;&#160;0x00001FFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Location of first pixel in line. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9a41b47e5d1f664da420254d5c9843a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTHORI_LASTPXL_MASK&#160;&#160;&#160;0x1FFF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Location of last pixel in line. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gaca14c4ff594e80550e0a3bed7fe923bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTHORI_LASTPXL_SHIFT&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Shift for location of last pixel. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3ef1c68fb552967f97b3d8ad5d7a9cc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTHORI_OFFSET&#160;&#160;&#160;0x10C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>First and last subject pixels in input line Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1aad0ef107e90a6416bc418b246d8967"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTVERT_FIRSTLINE_MASK&#160;&#160;&#160;0x00001FFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Location of first line in active video. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga786d765f51e68e55036864e7fa0e7e36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTVERT_LASTLINE_MASK&#160;&#160;&#160;0x1FFF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Location of last line in active video. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gacbe717a874578c4b5a5378eb05fa7a30"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTVERT_LASTLINE_SHIFT&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Shift for location of last line. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga908bb2128714dcab82412e670194b5bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_APTVERT_OFFSET&#160;&#160;&#160;0x110</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>First and last subject lines in input image Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa0138277971867a76302a114cd04580f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CHROMA_FORMAT_420&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>YUV4:2:0. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9223c7dbff7bbc1d126fd64f87af8767">XScaler_GetCoeffBankSharingInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="ga522c4f451ce0cab2b4105c09c8b7c8b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CHROMA_FORMAT_422&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>YUV4:2:2. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9223c7dbff7bbc1d126fd64f87af8767">XScaler_GetCoeffBankSharingInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaf0a8ad34a19e7ba4080a317f432363c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CHROMA_FORMAT_444&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>YUV4:4:4. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9223c7dbff7bbc1d126fd64f87af8767">XScaler_GetCoeffBankSharingInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2306e2c1d93a8899ab478d8f4f6b7730"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFF_MEM_OFFSET&#160;&#160;&#160;0x13C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Coefficient mem read address Offset. </p>

</div>
</div>
<a class="anchor" id="ga027b12daec1d3a341b165b9a30179df9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFF_PRECISION&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>Coefficient Precision. </p>

</div>
</div>
<a class="anchor" id="ga56a418f46f94c925c48145adc9e8b010"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFF_SELECT_BANK_MASK&#160;&#160;&#160;0x00000003</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Select require bank Mask. </p>

</div>
</div>
<a class="anchor" id="ga4ddbad549d21b44a4bab88706c362c20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFF_SELECT_SET_MASK&#160;&#160;&#160;0x00000F00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Select require Set Mask. </p>

</div>
</div>
<a class="anchor" id="ga414e821238628635fbc7114cf78ebe78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFF_SET_BANK_OFFSET&#160;&#160;&#160;0x138</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Coefficient set/bank read address Offset. </p>

</div>
</div>
<a class="anchor" id="ga9285864a7013ca3cd3bf8f00e438fc78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFSETADDR_ADDR_MASK&#160;&#160;&#160;0x0000000F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Address of the Coefficient bank to write next. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga38beb0d182b0e794be3a56d7e5bb91f9">XScaler_LoadCoeffBank()</a>.</p>

</div>
</div>
<a class="anchor" id="ga07a64d5648b13984e6e996f9b307616d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFSETADDR_OFFSET&#160;&#160;&#160;0x130</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Address of Coefficient set to write Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga38beb0d182b0e794be3a56d7e5bb91f9">XScaler_LoadCoeffBank()</a>.</p>

</div>
</div>
<a class="anchor" id="ga781538db6f9b07c1aafa0e5a30cdf2c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFSETS_HORI_MASK&#160;&#160;&#160;0x0000000F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Active horizontal coefficient set. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gabc47b324dca847f1319cece8f261ce25">XScaler_GetActiveCoeffSet()</a>, and <a class="el" href="group__scaler__v7__0.html#ga538a5c851ce9b06c883dcd89f8746d19">XScaler_SetActiveCoeffSet()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa15e5e1e47f49d7bb0944232ab0f41b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFSETS_OFFSET&#160;&#160;&#160;0x11C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Active horizontal and vertical coefficient sets to use Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga538a5c851ce9b06c883dcd89f8746d19">XScaler_SetActiveCoeffSet()</a>.</p>

</div>
</div>
<a class="anchor" id="ga024502ad1cb9a4c16620fbeb665b1423"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFSETS_VERT_MASK&#160;&#160;&#160;0x000000F0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Active vertical coefficient set. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gabc47b324dca847f1319cece8f261ce25">XScaler_GetActiveCoeffSet()</a>, and <a class="el" href="group__scaler__v7__0.html#ga538a5c851ce9b06c883dcd89f8746d19">XScaler_SetActiveCoeffSet()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa522c753b25e0559ab8f4edeac6c2908"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFSETS_VERT_SHIFT&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Active vertical coefficient set shift. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gabc47b324dca847f1319cece8f261ce25">XScaler_GetActiveCoeffSet()</a>, and <a class="el" href="group__scaler__v7__0.html#ga538a5c851ce9b06c883dcd89f8746d19">XScaler_SetActiveCoeffSet()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5fd51723d799def2fb1313147aa1080f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFVALUE_N_MASK&#160;&#160;&#160;0x0000FFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>First value in the pair. </p>

</div>
</div>
<a class="anchor" id="gadec94e651ca4e3b4051db8f62d8ecebe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFVALUE_NPLUS1_MASK&#160;&#160;&#160;0xFFFF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Second value in the pair. </p>

</div>
</div>
<a class="anchor" id="ga54dbdd224caa1624add59ee6e5b02192"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_COEFFVALUE_OFFSET&#160;&#160;&#160;0x134</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Coefficient values to write Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga38beb0d182b0e794be3a56d7e5bb91f9">XScaler_LoadCoeffBank()</a>.</p>

</div>
</div>
<a class="anchor" id="gaeb06a609d3fc8dd03ffebee3de7b88c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CTL_MEMRD_EN_MASK&#160;&#160;&#160;0x00000008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Coefficient Memory Read Enable Mask. </p>

</div>
</div>
<a class="anchor" id="gae56be419a3a532f1aa5a3b4b2830e1bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CTL_OFFSET&#160;&#160;&#160;0x000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Control Offset. </p>

</div>
</div>
<a class="anchor" id="ga1146f8faa2cf957ec30f5d9006462bd9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CTL_RESET_MASK&#160;&#160;&#160;0x80000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Software reset bit Mask. </p>

</div>
</div>
<a class="anchor" id="gacd1ba8ed7d6126b98c11832176f2f7b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CTL_RUE_MASK&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Register Update Enable Mask. </p>

</div>
</div>
<a class="anchor" id="ga72794ba6b74a4a904adda7d3219fac84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_CTL_SW_EN_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Enable the Scaler on the next video frame Mask. </p>

</div>
</div>
<a class="anchor" id="gafd15f4e4825396ff544870a350001afd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_ERR_COEFF_WR_MASK&#160;&#160;&#160;0x00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Error while Writing a Coefficient into core. </p>

</div>
</div>
<a class="anchor" id="ga14fedabf00156233b1dc3c82dd71c3aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_ERR_EOL_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>End of line Mask. </p>

</div>
</div>
<a class="anchor" id="gac009b3adad32063f00705cda9177fcc0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_ERR_SOF_MASK&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Error in starting a frame Mask. </p>

</div>
</div>
<a class="anchor" id="ga46168fdcac2eefaef465be9fc0ca8d71"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_ERROR_OFFSET&#160;&#160;&#160;0x008</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Error Status Offset. </p>

</div>
</div>
<a class="anchor" id="gab672498e5a4ea11f1b1e81131c04ca87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTCHROMALEFT_OFFSET&#160;&#160;&#160;0x124</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value used to initialize horizontal accumulator at rectangle left edge for chroma Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga505e3973d6010511283cd18b4dec380a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTCHROMALEFT_VALUE_MASK&#160;&#160;&#160;0x001FFFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value to initialize horizontal accumulator for chroma. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="gae2c3b931459957c9235b677a0b1b872e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTCHROMATOP_OFFSET&#160;&#160;&#160;0x12C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value used to initialize horizontal accumulator at rectangle top edge for chroma Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf195343b4a5f623485daf666a29c22dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTCHROMATOP_VALUE_MASK&#160;&#160;&#160;0x001FFFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value to initialize vertical accumulator for chroma. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga41974e5554c5ab67d0a93f15d4767707"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTLUMALEFT_OFFSET&#160;&#160;&#160;0x120</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value used to initialize horizontal accumulator at rectangle left edge for luma Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="gaecd0599db4c5842fcdf647ee3f371991"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTLUMALEFT_VALUE_MASK&#160;&#160;&#160;0x001FFFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value to initialize horizontal .....*..accumulator for luma. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga32b90b984d28f70ffa62839f42b51d57"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTLUMATOP_OFFSET&#160;&#160;&#160;0x128</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value used to initialize horizontal accumulator at rectangle top edge for luma Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1db19f70cb816fb4c1796c42f25ced67"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_FRCTLUMATOP_VALUE_MASK&#160;&#160;&#160;0x001FFFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Fractional value to initialize vertical accumulator for luma. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga5956eef6c759a3e38a15b670a3bea159">XScaler_GetStartFraction()</a>, and <a class="el" href="group__scaler__v7__0.html#ga5a13eaec4e81070651fd5d38cecca772">XScaler_SetStartFraction()</a>.</p>

</div>
</div>
<a class="anchor" id="gad409c8a56b463843ccec3182d255fcee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_HSF_FRAC_MASK&#160;&#160;&#160;0x00FFFFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Horizontal Shrink Factor fractional Mask. </p>

</div>
</div>
<a class="anchor" id="ga494a5c2d93e95c1f5906cd225df30c15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_HSF_OFFSET&#160;&#160;&#160;0x100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Horizontal Shrink Factor Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga708a719de7bf763b425f8eb7a77f73d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_IRQ_EN_OFFSET&#160;&#160;&#160;0x00C</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>For detecting operation status Offset. </p>

</div>
</div>
<a class="anchor" id="ga65ce0d708b68d348a87a0ec81990faaa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_IXR_COEF_W_RDY_MASK&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>If 1, Coefficient values can be written into the core Mask. </p>

</div>
</div>
<a class="anchor" id="ga5cb488407d0ae228b3ef6e02a5269ba1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_MAX_COEFF_SET_NUM&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>Maximum Coefficient Set Number. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga15c509c2050d8b9fd555d07e7553ff74">XScaler_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2734fd47030181f4164a55a11508bf7c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_MAX_PHASE_NUM&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>Maximum Phase Number. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga15c509c2050d8b9fd555d07e7553ff74">XScaler_CfgInitialize()</a>, and <a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup()</a>.</p>

</div>
</div>
<a class="anchor" id="ga98be07bbaae9bd2f42ff42ba7f74e082"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_MAX_TAP_NUM&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>Maximum Tap Number. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga15c509c2050d8b9fd555d07e7553ff74">XScaler_CfgInitialize()</a>, <a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup()</a>, and <a class="el" href="group__scaler__v7__0.html#ga38beb0d182b0e794be3a56d7e5bb91f9">XScaler_LoadCoeffBank()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf8192f6c419f513f7dda3187ce27b05d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_MIN_PHASE_NUM&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>Minimum Phase Number. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6deb8957fbdf87e83b74ebeca0de4f2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_MIN_TAP_NUM&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>Minimum Tap Number. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup()</a>.</p>

</div>
</div>
<a class="anchor" id="ga34514a6a241c077925def186c8f574b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_NUM_COEF_BINS&#160;&#160;&#160;19</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>The number of coefficient Bins. </p>

</div>
</div>
<a class="anchor" id="ga09fb441cdc1cd1c3874e28acef47dee9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_NUMPHASE_HORI_MASK&#160;&#160;&#160;0x0000007F</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>The number of horizontal phases. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga52861252f27f173a530bb0c3758ab4d0">XScaler_GetPhaseNum()</a>, and <a class="el" href="group__scaler__v7__0.html#ga76bd8e1ac73b7a0eb116206f97fe8502">XScaler_SetPhaseNum()</a>.</p>

</div>
</div>
<a class="anchor" id="ga23e2dfbb978b67f5916e6bc51be5a9ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_NUMPHASE_OFFSET&#160;&#160;&#160;0x118</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>The numbers of phases in current filter Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga52861252f27f173a530bb0c3758ab4d0">XScaler_GetPhaseNum()</a>, and <a class="el" href="group__scaler__v7__0.html#ga76bd8e1ac73b7a0eb116206f97fe8502">XScaler_SetPhaseNum()</a>.</p>

</div>
</div>
<a class="anchor" id="gadd29874a5349d7a91eb3cc71e268f84f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_NUMPHASE_VERT_MASK&#160;&#160;&#160;0x00007F00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>The number of vertical phases. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga52861252f27f173a530bb0c3758ab4d0">XScaler_GetPhaseNum()</a>, and <a class="el" href="group__scaler__v7__0.html#ga76bd8e1ac73b7a0eb116206f97fe8502">XScaler_SetPhaseNum()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7403026a3b2df08bbf8c38e082729d8c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_NUMPHASE_VERT_SHIFT&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Shift for the number of vertical phases. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga52861252f27f173a530bb0c3758ab4d0">XScaler_GetPhaseNum()</a>, and <a class="el" href="group__scaler__v7__0.html#ga76bd8e1ac73b7a0eb116206f97fe8502">XScaler_SetPhaseNum()</a>.</p>

</div>
</div>
<a class="anchor" id="ga44d969c3afac5554c29f40616c4f0a55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_OUTSIZE_NUMLINE_MASK&#160;&#160;&#160;0x1FFF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>The number of lines in output rectangle. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga22ce9e8efebf3304c16e96a82eae0876"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_OUTSIZE_NUMLINE_SHIFT&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Shift for the number of lines. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gae89f0dbec372246e8399813d576f383a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_OUTSIZE_NUMPXL_MASK&#160;&#160;&#160;0x00001FFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>The number of pixels in output rectangle. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga05d4fd7d79fb73ff82a13a81ac7c58ed">XScaler_GetAperture()</a>, and <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga72dba7ca7a16031484877a43a26fd22e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_OUTSIZE_OFFSET&#160;&#160;&#160;0x114</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Output image size: width and height Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5e9e52e7e44ce46818ece0cc020b4f14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_SHRINK_FACTOR&#160;&#160;&#160;0x100000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>For calculating HSF/VSF values. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gabce4888f16430746df33ceffe7f45f56"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_SRCSIZE_NUMLINE_MASK&#160;&#160;&#160;0x1FFF0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>The number of lines in source image. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gacbf370ba42656e48206a00546fd0cab0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_SRCSIZE_NUMLINE_SHIFT&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Shift for the number of lines. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga191c83734039ab7f94428cd2a7b4e766"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_SRCSIZE_NUMPXL_MASK&#160;&#160;&#160;0x00001FFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>The number of pixels in source image. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa6a5d42e8e096eb6de5917ed2bcc05d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_SRCSIZE_OFFSET&#160;&#160;&#160;0x108</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Source-video resolution Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1ef15601863381aafc7e1a31189643de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_STATUS_OFFSET&#160;&#160;&#160;0x004</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Status Offset. </p>

</div>
</div>
<a class="anchor" id="gad4835d58b512d80e140bcaaa671a115f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_VER_OFFSET&#160;&#160;&#160;0x010</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Version Register Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gafe44e79802fd28186ccd2f2d83653cad">XScaler_GetVersion()</a>.</p>

</div>
</div>
<a class="anchor" id="ga07ecd442a996b53a5c1bbb7aa5abf095"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_VSF_FRAC_MASK&#160;&#160;&#160;0x00FFFFFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Vertical Shrink Factor fractional Mask. </p>

</div>
</div>
<a class="anchor" id="ga45b88112a7730d351edcdcee7af9d92f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSCL_VSF_OFFSET&#160;&#160;&#160;0x104</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a>&gt;</code></p>

<p>Vertical Shrink Factor Offset. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga9ecf963404e7cdbb8bff372e8f3eabe7">XScaler_SetAperture()</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gaffc0b21a166aa9e92694a6c6187dd804"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XScaler_CallBack) (void *CallBackRef)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>Callback type for interrupts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. </td></tr>
    <tr><td class="paramname">EventMask</td><td>indicates which events are happening. They could be either normal events or errors. The value is created by "OR'ing" XSCL_IXR_* constants defined in <a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga473f61cffa8975d0d6dfe8083dcfcc52"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XScaler_AllocCoefsBuff </td>
          <td>(</td>
          <td class="paramtype">struct coefs_struct *&#160;</td>
          <td class="paramname"><em>Coefs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Max_Taps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Max_Phases</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__coefs_8c.html">xscaler_coefs.c</a>&gt;</code></p>

<p>This function allocates memory to a double dimensional array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Coefs</td><td>is a pointer to Coefs_Struct structure which has a double dimensional array which needs to be allocated memory. </td></tr>
    <tr><td class="paramname">Max_Taps</td><td>indicates the number of taps which is used to allocate that number of columns. </td></tr>
    <tr><td class="paramname">Max_Phases</td><td>indicates the number of phases which is used to allocate that number of rows.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 - Indicates allocation of memory is failed. 0 - Indicates allocation of memory is success.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gab58cc7fda3710c523652c5a3fb8606b2">XScaler_GenCoefTable()</a>.</p>

</div>
</div>
<a class="anchor" id="ga15c509c2050d8b9fd555d07e7553ff74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XScaler_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_scaler___config.html">XScaler_Config</a> *&#160;</td>
          <td class="paramname"><em>CfgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function initializes a Scaler device. </p>
<p>This function must be called prior to using a Scaler device. Initialization of a Scaler includes setting up the instance data, and ensuring the hardware is in a quiescent state.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">CfgPtr</td><td>points to the configuration structure associated with the Scaler device. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler___config.html#af569b1b5baf5d64ad9fd88f1a22ead38">XScaler_Config::BaseAddress</a>, <a class="el" href="struct_x_scaler.html#abb6f799b104c1b951ad196fc98659138">XScaler::CallBack</a>, <a class="el" href="struct_x_scaler___config.html#a8c4a66c00a7f44a49ea21ee14163d9b8">XScaler_Config::CoeffSetNum</a>, <a class="el" href="struct_x_scaler.html#a0e3085a5e2f3410c020a0cb66d1443e7">XScaler::Config</a>, <a class="el" href="struct_x_scaler___config.html#a181a1a7d944619b8f0856aa58981bc33">XScaler_Config::HoriTapNum</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="struct_x_scaler___config.html#ae21fed43db168904d6b31f91c7c729fc">XScaler_Config::MaxPhaseNum</a>, <a class="el" href="struct_x_scaler___config.html#a010bf19a40c771f8a8ba99c4fc04ce35">XScaler_Config::VertTapNum</a>, <a class="el" href="group__scaler__v7__0.html#ga6387eceaded147af9969660ff9db3d37">XScaler_Reset</a>, <a class="el" href="group__scaler__v7__0.html#ga5cb488407d0ae228b3ef6e02a5269ba1">XSCL_MAX_COEFF_SET_NUM</a>, <a class="el" href="group__scaler__v7__0.html#ga2734fd47030181f4164a55a11508bf7c">XSCL_MAX_PHASE_NUM</a>, and <a class="el" href="group__scaler__v7__0.html#ga98be07bbaae9bd2f42ff42ba7f74e082">XSCL_MAX_TAP_NUM</a>.</p>

</div>
</div>
<a class="anchor" id="gaf94585c2494fc64cdbe6ec17e0d8fade"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s16 * XScaler_CoefValueLookup </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>InSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>OutSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Tap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Phase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function returns the pointer to the coefficients for a scaling operation given input/output sizes and the Tap and Phase numbers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InSize</td><td>indicates the size (width or height) of the input video. </td></tr>
    <tr><td class="paramname">OutSize</td><td>indicates the size (width or height) of the output video. </td></tr>
    <tr><td class="paramname">Tap</td><td>indicates the Tap number. </td></tr>
    <tr><td class="paramname">Phase</td><td>indicates the Phase number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The points to the coefficients ready for the scaling operation.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__scaler__v7__0.html#gad6cdd2b14967aa84aefcd7fddc954dfd">XScaler_CoefPhaseOffset</a>, <a class="el" href="group__scaler__v7__0.html#ga6896596b825bad380377dbb656b072b8">XScaler_CoefTapOffset</a>, <a class="el" href="group__scaler__v7__0.html#gab58cc7fda3710c523652c5a3fb8606b2">XScaler_GenCoefTable()</a>, <a class="el" href="group__scaler__v7__0.html#ga2734fd47030181f4164a55a11508bf7c">XSCL_MAX_PHASE_NUM</a>, <a class="el" href="group__scaler__v7__0.html#ga98be07bbaae9bd2f42ff42ba7f74e082">XSCL_MAX_TAP_NUM</a>, <a class="el" href="group__scaler__v7__0.html#gaf8192f6c419f513f7dda3187ce27b05d">XSCL_MIN_PHASE_NUM</a>, and <a class="el" href="group__scaler__v7__0.html#ga6deb8957fbdf87e83b74ebeca0de4f2f">XSCL_MIN_TAP_NUM</a>.</p>

</div>
</div>
<a class="anchor" id="gab58cc7fda3710c523652c5a3fb8606b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s16 * XScaler_GenCoefTable </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Tap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Phase</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>XScaler_GenCoefTable generates XScaler_coef_table containing the coefficient values for scaling operations. </p>
<p>This function generates a table that contains the coefficient values for scaling operations.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Tap</td><td>indicates the number of taps configured to the Scaler device. </td></tr>
    <tr><td class="paramname">Phase</td><td>indicates the number of phase configured to the Scaler device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The pointer to XScaler_Coef_Table.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__scaler__v7__0.html#ga473f61cffa8975d0d6dfe8083dcfcc52">XScaler_AllocCoefsBuff()</a>, <a class="el" href="group__scaler__v7__0.html#ga448998c4ce39ec903fc04ffbe8cb0161">XScaler_coef_table</a>, and <a class="el" href="group__scaler__v7__0.html#ga6caf402acf9848ad358b8d918e2d354d">XScaler_GetLanczosCoeffs()</a>.</p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gaf94585c2494fc64cdbe6ec17e0d8fade">XScaler_CoefValueLookup()</a>.</p>

</div>
</div>
<a class="anchor" id="gabc47b324dca847f1319cece8f261ce25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_GetActiveCoeffSet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>VertSetIndexPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>HoriSetIndexPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function fetches the indexes of active vertical and horizontal coefficient sets being used by a Scaler device. </p>
<p>Each coefficient set contains 4 banks: Horizontal Luma, Horizontal Chroma, Vertical Luma and Vertical Chroma. The horizontal part is independent from the vertical part and the Scaler device supports using the horizontal part of one coefficient set w/ the vertical part of a different coefficient set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">VertSetIndexPtr</td><td>points to the index of the active coefficient set in which the vertical part is being used by the Scaler device after this function returns. </td></tr>
    <tr><td class="paramname">HoriSetIndexPtr</td><td>points to the index of the active coefficient set in which the horizontal part is being used by the Scaler device after this function returns.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>, <a class="el" href="group__scaler__v7__0.html#ga781538db6f9b07c1aafa0e5a30cdf2c8">XSCL_COEFFSETS_HORI_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga024502ad1cb9a4c16620fbeb665b1423">XSCL_COEFFSETS_VERT_MASK</a>, and <a class="el" href="group__scaler__v7__0.html#gaa522c753b25e0559ab8f4edeac6c2908">XSCL_COEFFSETS_VERT_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga05d4fd7d79fb73ff82a13a81ac7c58ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_GetAperture </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_scaler_aperture.html">XScalerAperture</a> *&#160;</td>
          <td class="paramname"><em>AperturePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function gets aperture of a Scaler device. </p>
<p>The aperture setting consists of input video aperture and output video size.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">AperturePtr</td><td>points to the aperture structure to store the current Scaler device setting after this function returns.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler_aperture.html#a4bd512ef9868a83e379d20a0df7c6c48">XScalerAperture::InFirstLine</a>, <a class="el" href="struct_x_scaler_aperture.html#aa0483f73abdd426fb107d84bf071ac06">XScalerAperture::InFirstPixel</a>, <a class="el" href="struct_x_scaler_aperture.html#a0a26f4ba1dc7ba4623fbb3efc0f20b84">XScalerAperture::InLastLine</a>, <a class="el" href="struct_x_scaler_aperture.html#a2e468709864ac257191294e70da87b0d">XScalerAperture::InLastPixel</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="struct_x_scaler_aperture.html#a623b309c49a3a9dfb99e7d55508799d4">XScalerAperture::OutHoriSize</a>, <a class="el" href="struct_x_scaler_aperture.html#a9da4508757147b231c0685f60eec242c">XScalerAperture::OutVertSize</a>, <a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>, <a class="el" href="group__scaler__v7__0.html#ga3abc1cd00268ddb2feb3717293df522e">XSCL_APTHORI_FIRSTPXL_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga9a41b47e5d1f664da420254d5c9843a2">XSCL_APTHORI_LASTPXL_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gaca14c4ff594e80550e0a3bed7fe923bc">XSCL_APTHORI_LASTPXL_SHIFT</a>, <a class="el" href="group__scaler__v7__0.html#ga1aad0ef107e90a6416bc418b246d8967">XSCL_APTVERT_FIRSTLINE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga786d765f51e68e55036864e7fa0e7e36">XSCL_APTVERT_LASTLINE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gacbe717a874578c4b5a5378eb05fa7a30">XSCL_APTVERT_LASTLINE_SHIFT</a>, <a class="el" href="group__scaler__v7__0.html#ga44d969c3afac5554c29f40616c4f0a55">XSCL_OUTSIZE_NUMLINE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga22ce9e8efebf3304c16e96a82eae0876">XSCL_OUTSIZE_NUMLINE_SHIFT</a>, and <a class="el" href="group__scaler__v7__0.html#gae89f0dbec372246e8399813d576f383a">XSCL_OUTSIZE_NUMPXL_MASK</a>.</p>

</div>
</div>
<a class="anchor" id="ga9223c7dbff7bbc1d126fd64f87af8767"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_GetCoeffBankSharingInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>ChromaFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>ChromaLumaShareCoeff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>HoriVertShareCoeff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function fetches the color space format and coefficient bank sharing decisions made on a Scaler device at build-time. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">ChromaFormat</td><td>points to an 8-bit variable that will be assigned with the Chroma format chosen for the Scaler device at the build time after this function returns. Please use XSCL_CHROMA_FORMAT_* defined in <a class="el" href="xscaler__hw_8h.html">xscaler_hw.h</a> to interpret the variable value. </td></tr>
    <tr><td class="paramname">ChromaLumaShareCoeff</td><td>points to an 8-bit variable that will be assigned by this function with the decision value on coefficient bank sharing between Chroma and Luma filter operations. The decision is made for the Scaler device at build time and can NOT be changed at run-time. Value 0 indicates that each of Chroma and Luma filter operations has its own coefficient bank. Value 1 indicates that Chroma and Luma filter operations share one common coefficient bank. </td></tr>
    <tr><td class="paramname">HoriVertShareCoeff</td><td>points to an 8-bit variable that will be assigned by this function with the decision value on coefficient bank sharing between Horizontal and Vertical filter operations. The decision is made for the Scaler device at build time and can NOT be changed at run-time. Value 0 indicates that each of Horizontal and Vertical filter operations has its own coefficient bank. Value 1 indicates that Horizontal and Vertical filter operations share one common coefficient bank.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>!!!IMPORTANT!!!</p>
<p>The application of this function is responsible for loading the correct number of coefficient banks in the proper sequence order. The number of coefficient banks to load and the proper loading sequence totally depends on the values of the output parameters of this function. Please use the table below as reference.</p>
<pre>
ChromaFormat ChromaLumaShareCoeff HoriVertShareCoeff # of      sequence
                                                     coeff     of
                                                     banks     loading
                                                     to load   coeff
                                                               banks
------------ -------------------- ------------------ --------  -------------
YUV420       1                    1                  1         1.Single bank
------------ -------------------- ------------------ --------  -------------
YUV420       1                    0                  2         1.Hori bank
                                                               2.Vert bank
------------ -------------------- ------------------ --------  -------------
YUV420       0                    1                  2         1.Luma bank
                                                               2.Chroma bank
------------ -------------------- ------------------ --------  -------------
YUV420       0                    0                  4         1.Hori Luma
                                                               2.Hori Chroma
                                                               3.Vert Luma
                                                               4.Vert Chroma
------------ -------------------- ------------------ --------  -------------
YUV422       1                    1                  1         1.Single bank
------------ -------------------- ------------------ --------  -------------
YUV422       1                    0                  2         1.Hori bank
                                                               2.Vert bank
------------ -------------------- ------------------ --------  -------------
YUV422       0                    1                  2         1.Luma bank
                                                               2.Chroma bank
------------ -------------------- ------------------ --------  -------------
YUV422       0                    0                  4         1.Hori Luma
                                                               2.Hori Chroma
                                                               3.Vert Luma
                                                               4.Vert Chroma
------------ -------------------- ------------------ --------  -------------
YUV444       Always 1             1                  1         1.Single bank
------------ -------------------- ------------------ --------  -------------
YUV444       Always 1             0                  2         1.Hori bank
                                                               2.Vert bank
------------ -------------------- ------------------ --------  -------------
</pre>
<p>References <a class="el" href="struct_x_scaler___config.html#afe3ea3202afeba5dcd62d225e02392f5">XScaler_Config::ChromaFormat</a>, <a class="el" href="struct_x_scaler.html#a0e3085a5e2f3410c020a0cb66d1443e7">XScaler::Config</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="struct_x_scaler___config.html#a55fc9e299f1d018cb4ffd5cf48cb0b20">XScaler_Config::SeparateHvCoef</a>, <a class="el" href="struct_x_scaler___config.html#ad570f878c49458fd1df32b17f6a45036">XScaler_Config::SeparateYcCoef</a>, <a class="el" href="group__scaler__v7__0.html#gaa0138277971867a76302a114cd04580f">XSCL_CHROMA_FORMAT_420</a>, <a class="el" href="group__scaler__v7__0.html#ga522c4f451ce0cab2b4105c09c8b7c8b0">XSCL_CHROMA_FORMAT_422</a>, and <a class="el" href="group__scaler__v7__0.html#gaaf0a8ad34a19e7ba4080a317f432363c">XSCL_CHROMA_FORMAT_444</a>.</p>

</div>
</div>
<a class="anchor" id="ga6caf402acf9848ad358b8d918e2d354d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_GetLanczosCoeffs </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short int&#160;</td>
          <td class="paramname"><em>icoeffs</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>NCOEFF</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__coefs_8c.html">xscaler_coefs.c</a>&gt;</code></p>

<p>This coefficient generation algorithm implements the Lanczos coefficients. </p>
<p>For a particular scaling ratio, the coefficients can be pre-canned to memory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>is a float variable. </td></tr>
    <tr><td class="paramname">icoeffs</td><td>is a pointer to a single row of Coefficients array which is in SingleFrameCoefs structure. </td></tr>
    <tr><td class="paramname">NCOEFF</td><td>is variable which holds number of taps which indicates the number of columns</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>It works according to <a href="http://en.wikipedia.org/wiki/Lanczos_resampling">http://en.wikipedia.org/wiki/Lanczos_resampling</a>. </dd></dl>

<p>References <a class="el" href="group__scaler__v7__0.html#ga1d67001f95f90ad1bdbcc8186ad0a824">XScaler_Lanczos()</a>.</p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gab58cc7fda3710c523652c5a3fb8606b2">XScaler_GenCoefTable()</a>.</p>

</div>
</div>
<a class="anchor" id="ga52861252f27f173a530bb0c3758ab4d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_GetPhaseNum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16 *&#160;</td>
          <td class="paramname"><em>VertPhaseNumPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16 *&#160;</td>
          <td class="paramname"><em>HoriPhaseNumPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function gets the numbers of vertical and horizontal phases currently used by a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">VertPhaseNumPtr</td><td>will point to the number of vertical phases used after this function returns. </td></tr>
    <tr><td class="paramname">HoriPhaseNumPtr</td><td>will point to the number of horizontal phases used after this function returns.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler___config.html#af569b1b5baf5d64ad9fd88f1a22ead38">XScaler_Config::BaseAddress</a>, <a class="el" href="struct_x_scaler.html#a0e3085a5e2f3410c020a0cb66d1443e7">XScaler::Config</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>, <a class="el" href="group__scaler__v7__0.html#ga09fb441cdc1cd1c3874e28acef47dee9">XSCL_NUMPHASE_HORI_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga23e2dfbb978b67f5916e6bc51be5a9ea">XSCL_NUMPHASE_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#gadd29874a5349d7a91eb3cc71e268f84f">XSCL_NUMPHASE_VERT_MASK</a>, and <a class="el" href="group__scaler__v7__0.html#ga7403026a3b2df08bbf8c38e082729d8c">XSCL_NUMPHASE_VERT_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga5956eef6c759a3e38a15b670a3bea159"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_GetStartFraction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_scaler_start_fraction.html">XScalerStartFraction</a> *&#160;</td>
          <td class="paramname"><em>StartFractionPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function gets Luma and Chroma start fractional values currently used by a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">StartFractionPtr</td><td>is a pointer to a start fractional value structure to be populated with the fractional values after this function returns.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler_start_fraction.html#ab625ea3b299572f7922f128f51d39104">XScalerStartFraction::ChromaLeftHori</a>, <a class="el" href="struct_x_scaler_start_fraction.html#ae3d83bc5a07c5146610396449a9508b8">XScalerStartFraction::ChromaTopVert</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="struct_x_scaler_start_fraction.html#a75da4e994f49d769a040a1d9fac04818">XScalerStartFraction::LumaLeftHori</a>, <a class="el" href="struct_x_scaler_start_fraction.html#af26de6e2d6b76436f1a42642271d0b70">XScalerStartFraction::LumaTopVert</a>, <a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>, <a class="el" href="group__scaler__v7__0.html#gab672498e5a4ea11f1b1e81131c04ca87">XSCL_FRCTCHROMALEFT_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#ga505e3973d6010511283cd18b4dec380a">XSCL_FRCTCHROMALEFT_VALUE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gae2c3b931459957c9235b677a0b1b872e">XSCL_FRCTCHROMATOP_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#gaf195343b4a5f623485daf666a29c22dd">XSCL_FRCTCHROMATOP_VALUE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga41974e5554c5ab67d0a93f15d4767707">XSCL_FRCTLUMALEFT_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#gaecd0599db4c5842fcdf647ee3f371991">XSCL_FRCTLUMALEFT_VALUE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga32b90b984d28f70ffa62839f42b51d57">XSCL_FRCTLUMATOP_OFFSET</a>, and <a class="el" href="group__scaler__v7__0.html#ga1db19f70cb816fb4c1796c42f25ced67">XSCL_FRCTLUMATOP_VALUE_MASK</a>.</p>

</div>
</div>
<a class="anchor" id="gafe44e79802fd28186ccd2f2d83653cad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XScaler_GetVersion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function returns the contents of version register of the Scaler core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler core instance to be worked on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Contents of the version register.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler___config.html#af569b1b5baf5d64ad9fd88f1a22ead38">XScaler_Config::BaseAddress</a>, <a class="el" href="struct_x_scaler.html#a0e3085a5e2f3410c020a0cb66d1443e7">XScaler::Config</a>, <a class="el" href="group__scaler__v7__0.html#ga71879103578af25139e64893eeb4697d">XScaler_ReadReg</a>, and <a class="el" href="group__scaler__v7__0.html#gad4835d58b512d80e140bcaaa671a115f">XSCL_VER_OFFSET</a>.</p>

</div>
</div>
<a class="anchor" id="ga6fa8567138c2521f1eb9516fe1335ac3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_IntrHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>This function is the interrupt handler for the Scaler driver. </p>
<p>This handler calls callback, and finally clears the interrupts.</p>
<p>The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using <a class="el" href="group__scaler__v7__0.html#gabd9fccf4a3c562830e9f26140aaec73f" title="This routine installs an asynchronous callback function. ">XScaler_SetCallBack()</a> during initialization phase.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_scaler.html" title="The XScaler driver instance data. ">XScaler</a> instance that just interrupted. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler.html#abb6f799b104c1b951ad196fc98659138">XScaler::CallBack</a>, <a class="el" href="struct_x_scaler.html#a42fd19d7f5599530b140335687822d6f">XScaler::CallBackRef</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, and <a class="el" href="group__scaler__v7__0.html#gaf994f67d5c003a5ef3205a3716384a44">XScaler_IntrClear</a>.</p>

</div>
</div>
<a class="anchor" id="ga1d67001f95f90ad1bdbcc8186ad0a824"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float XScaler_Lanczos </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__coefs_8c.html">xscaler_coefs.c</a>&gt;</code></p>

<p>This function generates coffficient. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>is a float varaible based on which coefficient is generated. </td></tr>
    <tr><td class="paramname">a</td><td>is a 32 bit variable which holds half of the number of taps.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns Coefficient value depending on inputs.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>It works according to <a href="http://en.wikipedia.org/wiki/Taylor_series#Approximation_and_convergence">http://en.wikipedia.org/wiki/Taylor_series#Approximation_and_convergence</a> </dd></dl>

<p>References <a class="el" href="group__scaler__v7__0.html#gafebe13974f673bd353037006d03c0b9c">XScaler_Sine()</a>.</p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga6caf402acf9848ad358b8d918e2d354d">XScaler_GetLanczosCoeffs()</a>.</p>

</div>
</div>
<a class="anchor" id="ga38beb0d182b0e794be3a56d7e5bb91f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_LoadCoeffBank </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_scaler_coeff_bank.html">XScalerCoeffBank</a> *&#160;</td>
          <td class="paramname"><em>CoeffBankPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function loads a coefficient bank to the Scaler core. </p>
<p>A complete coefficient set contains 4 banks (if Luma, Chroma, Horizontal and Vertical filter operations do not share common banks. For more details see <a class="el" href="group__scaler__v7__0.html#ga9223c7dbff7bbc1d126fd64f87af8767" title="This function fetches the color space format and coefficient bank sharing decisions made on a Scaler ...">XScaler_GetCoeffBankSharingInfo()</a>): Horizontal Luma, Horizontal Chroma, Vertical Luma and Vertical Chroma. all 4 banks must be loaded back to back in the order listed here. The caller is responsible for ensuring the sequence and this function does not check it.</p>
<p>An example sequence to load an whole coefficient set is like: </p><pre>
        XScaler_LoadCoeffBank(&amp;Scaler, &amp;HoriLumaCoeffBank);
        XScaler_LoadCoeffBank(&amp;Scaler, &amp;HoriChromaCoeffBank);
        XScaler_LoadCoeffBank(&amp;Scaler, &amp;VertLumaCoeffBank);
        XScaler_LoadCoeffBank(&amp;Scaler, &amp;VertChromaCoeffBank);
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">CoeffBankPtr</td><td>is a pointer to a coefficient bank that is to be loaded.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler___config.html#af569b1b5baf5d64ad9fd88f1a22ead38">XScaler_Config::BaseAddress</a>, <a class="el" href="struct_x_scaler___config.html#a8c4a66c00a7f44a49ea21ee14163d9b8">XScaler_Config::CoeffSetNum</a>, <a class="el" href="struct_x_scaler_coeff_bank.html#a8ba5e2370ff77209a916924b173e66b7">XScalerCoeffBank::CoeffValueBuf</a>, <a class="el" href="struct_x_scaler.html#a0e3085a5e2f3410c020a0cb66d1443e7">XScaler::Config</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="struct_x_scaler___config.html#ae21fed43db168904d6b31f91c7c729fc">XScaler_Config::MaxPhaseNum</a>, <a class="el" href="struct_x_scaler_coeff_bank.html#a4aecf335099540f39b426c37b16aa0b2">XScalerCoeffBank::PhaseNum</a>, <a class="el" href="struct_x_scaler_coeff_bank.html#a9949e4f931a2fb71758de7fa05b5fad9">XScalerCoeffBank::SetIndex</a>, <a class="el" href="struct_x_scaler_coeff_bank.html#a8f70c4b0fbc7fd38642945c3d59d522b">XScalerCoeffBank::TapNum</a>, <a class="el" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>, <a class="el" href="group__scaler__v7__0.html#ga9285864a7013ca3cd3bf8f00e438fc78">XSCL_COEFFSETADDR_ADDR_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga07a64d5648b13984e6e996f9b307616d">XSCL_COEFFSETADDR_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#ga54dbdd224caa1624add59ee6e5b02192">XSCL_COEFFVALUE_OFFSET</a>, and <a class="el" href="group__scaler__v7__0.html#ga98be07bbaae9bd2f42ff42ba7f74e082">XSCL_MAX_TAP_NUM</a>.</p>

</div>
</div>
<a class="anchor" id="ga5015fa5909437174587cb5309b3d6c3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_scaler___config.html">XScaler_Config</a> * XScaler_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>XScaler_LookupConfig returns a reference to an <a class="el" href="struct_x_scaler___config.html" title="This typedef contains configuration information for a Scaler device. ">XScaler_Config</a> structure based on the unique device id, <em>DeviceId</em>. </p>
<p>The return value will refer to an entry in the device configuration table defined in the xscaler_g.c file.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the unique device ID of the device for the lookup operation.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XScaler_LookupConfig returns a reference to a config record in the configuration table (in xscaler_g.c) corresponding to <em>DeviceId</em>, or NULL if no match is found. </dd></dl>

</div>
</div>
<a class="anchor" id="ga538a5c851ce9b06c883dcd89f8746d19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_SetActiveCoeffSet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>VertSetIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>HoriSetIndex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function chooses the active vertical and horizontal coefficient sets to be used by a Scaler device. </p>
<p>Each coefficient set contains 4 banks: Horizontal Luma, Horizontal Chroma, Vertical Luma and Vertical Chroma. The horizontal part is independent from the vertical part and the Scaler device supports using the horizontal part of one coefficient set w/ the vertical part of a different coefficient set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">VertSetIndex</td><td>indicates the index of the coefficient set in which the vertical part will be used by the Scaler device. Valid value is from 0 to (the number of the coefficient sets implemented by the Scaler device - 1). </td></tr>
    <tr><td class="paramname">HoriSetIndex</td><td>indicates the index of the coefficient set in which the horizontal part will be used by the Scaler device. Valid value is from 0 to (the number of the coefficient sets implemented by the Scaler device - 1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>, <a class="el" href="group__scaler__v7__0.html#ga781538db6f9b07c1aafa0e5a30cdf2c8">XSCL_COEFFSETS_HORI_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gaa15e5e1e47f49d7bb0944232ab0f41b2">XSCL_COEFFSETS_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#ga024502ad1cb9a4c16620fbeb665b1423">XSCL_COEFFSETS_VERT_MASK</a>, and <a class="el" href="group__scaler__v7__0.html#gaa522c753b25e0559ab8f4edeac6c2908">XSCL_COEFFSETS_VERT_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga9ecf963404e7cdbb8bff372e8f3eabe7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XScaler_SetAperture </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_scaler_aperture.html">XScalerAperture</a> *&#160;</td>
          <td class="paramname"><em>AperturePtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function sets up aperture of a Scaler device. </p>
<p>The aperture setting consists of input video aperture and output video size. This function calculates the scale factor accordingly based on the aperture setting and sets up the Scaler appropriately.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">AperturePtr</td><td>points to the aperture setting structure to set up the Scaler device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler___config.html#af569b1b5baf5d64ad9fd88f1a22ead38">XScaler_Config::BaseAddress</a>, <a class="el" href="struct_x_scaler.html#a0e3085a5e2f3410c020a0cb66d1443e7">XScaler::Config</a>, <a class="el" href="struct_x_scaler___config.html#a181a1a7d944619b8f0856aa58981bc33">XScaler_Config::HoriTapNum</a>, <a class="el" href="struct_x_scaler_aperture.html#a4bd512ef9868a83e379d20a0df7c6c48">XScalerAperture::InFirstLine</a>, <a class="el" href="struct_x_scaler_aperture.html#aa0483f73abdd426fb107d84bf071ac06">XScalerAperture::InFirstPixel</a>, <a class="el" href="struct_x_scaler_aperture.html#a0a26f4ba1dc7ba4623fbb3efc0f20b84">XScalerAperture::InLastLine</a>, <a class="el" href="struct_x_scaler_aperture.html#a2e468709864ac257191294e70da87b0d">XScalerAperture::InLastPixel</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="struct_x_scaler_aperture.html#a623b309c49a3a9dfb99e7d55508799d4">XScalerAperture::OutHoriSize</a>, <a class="el" href="struct_x_scaler_aperture.html#a9da4508757147b231c0685f60eec242c">XScalerAperture::OutVertSize</a>, <a class="el" href="group__scaler__v7__0.html#ga6ea10f4260b54a61665ead26cb995ba3">round</a>, <a class="el" href="struct_x_scaler_aperture.html#a850456be2d8db6326351dd577d4ac1c5">XScalerAperture::SrcHoriSize</a>, <a class="el" href="struct_x_scaler_aperture.html#a60423bf38aaacd5b5b4cd84c44bb6f67">XScalerAperture::SrcVertSize</a>, <a class="el" href="struct_x_scaler___config.html#a010bf19a40c771f8a8ba99c4fc04ce35">XScaler_Config::VertTapNum</a>, <a class="el" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>, <a class="el" href="group__scaler__v7__0.html#ga3abc1cd00268ddb2feb3717293df522e">XSCL_APTHORI_FIRSTPXL_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga9a41b47e5d1f664da420254d5c9843a2">XSCL_APTHORI_LASTPXL_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gaca14c4ff594e80550e0a3bed7fe923bc">XSCL_APTHORI_LASTPXL_SHIFT</a>, <a class="el" href="group__scaler__v7__0.html#ga3ef1c68fb552967f97b3d8ad5d7a9cc5">XSCL_APTHORI_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#ga1aad0ef107e90a6416bc418b246d8967">XSCL_APTVERT_FIRSTLINE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga786d765f51e68e55036864e7fa0e7e36">XSCL_APTVERT_LASTLINE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gacbe717a874578c4b5a5378eb05fa7a30">XSCL_APTVERT_LASTLINE_SHIFT</a>, <a class="el" href="group__scaler__v7__0.html#ga908bb2128714dcab82412e670194b5bf">XSCL_APTVERT_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#ga494a5c2d93e95c1f5906cd225df30c15">XSCL_HSF_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#ga44d969c3afac5554c29f40616c4f0a55">XSCL_OUTSIZE_NUMLINE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga22ce9e8efebf3304c16e96a82eae0876">XSCL_OUTSIZE_NUMLINE_SHIFT</a>, <a class="el" href="group__scaler__v7__0.html#gae89f0dbec372246e8399813d576f383a">XSCL_OUTSIZE_NUMPXL_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga72dba7ca7a16031484877a43a26fd22e">XSCL_OUTSIZE_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#ga5e9e52e7e44ce46818ece0cc020b4f14">XSCL_SHRINK_FACTOR</a>, <a class="el" href="group__scaler__v7__0.html#gabce4888f16430746df33ceffe7f45f56">XSCL_SRCSIZE_NUMLINE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gacbf370ba42656e48206a00546fd0cab0">XSCL_SRCSIZE_NUMLINE_SHIFT</a>, <a class="el" href="group__scaler__v7__0.html#ga191c83734039ab7f94428cd2a7b4e766">XSCL_SRCSIZE_NUMPXL_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gaa6a5d42e8e096eb6de5917ed2bcc05d1">XSCL_SRCSIZE_OFFSET</a>, and <a class="el" href="group__scaler__v7__0.html#ga45b88112a7730d351edcdcee7af9d92f">XSCL_VSF_OFFSET</a>.</p>

</div>
</div>
<a class="anchor" id="gabd9fccf4a3c562830e9f26140aaec73f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_SetCallBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8h.html">xscaler.h</a>&gt;</code></p>

<p>This routine installs an asynchronous callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_scaler.html" title="The XScaler driver instance data. ">XScaler</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">CallBackFunc</td><td>is the address of the callback function. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>is a user data item that will be passed to the callback function when it is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler.html#abb6f799b104c1b951ad196fc98659138">XScaler::CallBack</a>, <a class="el" href="struct_x_scaler.html#a42fd19d7f5599530b140335687822d6f">XScaler::CallBackRef</a>, and <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>.</p>

</div>
</div>
<a class="anchor" id="ga76bd8e1ac73b7a0eb116206f97fe8502"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_SetPhaseNum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>VertPhaseNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>HoriPhaseNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function sets the numbers of vertical and horizontal phases to be used by a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">VertPhaseNum</td><td>is the number of vertical phase to set to </td></tr>
    <tr><td class="paramname">HoriPhaseNum</td><td>is the number of horizontal phase to set to</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler___config.html#af569b1b5baf5d64ad9fd88f1a22ead38">XScaler_Config::BaseAddress</a>, <a class="el" href="struct_x_scaler.html#a0e3085a5e2f3410c020a0cb66d1443e7">XScaler::Config</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>, <a class="el" href="group__scaler__v7__0.html#ga09fb441cdc1cd1c3874e28acef47dee9">XSCL_NUMPHASE_HORI_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga23e2dfbb978b67f5916e6bc51be5a9ea">XSCL_NUMPHASE_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#gadd29874a5349d7a91eb3cc71e268f84f">XSCL_NUMPHASE_VERT_MASK</a>, and <a class="el" href="group__scaler__v7__0.html#ga7403026a3b2df08bbf8c38e082729d8c">XSCL_NUMPHASE_VERT_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga5a13eaec4e81070651fd5d38cecca772"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XScaler_SetStartFraction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_scaler.html">XScaler</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_scaler_start_fraction.html">XScalerStartFraction</a> *&#160;</td>
          <td class="paramname"><em>StartFractionPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>This function sets up Luma and Chroma start fractional values used by a Scaler device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the Scaler device instance to be worked on. </td></tr>
    <tr><td class="paramname">StartFractionPtr</td><td>is a pointer to a start fractional value set to be used.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_scaler_start_fraction.html#ab625ea3b299572f7922f128f51d39104">XScalerStartFraction::ChromaLeftHori</a>, <a class="el" href="struct_x_scaler_start_fraction.html#ae3d83bc5a07c5146610396449a9508b8">XScalerStartFraction::ChromaTopVert</a>, <a class="el" href="struct_x_scaler.html#a26a0916a1d8eeff3ed82b24e2998e970">XScaler::IsReady</a>, <a class="el" href="struct_x_scaler_start_fraction.html#a75da4e994f49d769a040a1d9fac04818">XScalerStartFraction::LumaLeftHori</a>, <a class="el" href="struct_x_scaler_start_fraction.html#af26de6e2d6b76436f1a42642271d0b70">XScalerStartFraction::LumaTopVert</a>, <a class="el" href="group__scaler__v7__0.html#ga932189ed3aeff002acff68afc90548ea">XScaler_WriteReg</a>, <a class="el" href="group__scaler__v7__0.html#ga505e3973d6010511283cd18b4dec380a">XSCL_FRCTCHROMALEFT_VALUE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#gae2c3b931459957c9235b677a0b1b872e">XSCL_FRCTCHROMATOP_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#gaf195343b4a5f623485daf666a29c22dd">XSCL_FRCTCHROMATOP_VALUE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga41974e5554c5ab67d0a93f15d4767707">XSCL_FRCTLUMALEFT_OFFSET</a>, <a class="el" href="group__scaler__v7__0.html#gaecd0599db4c5842fcdf647ee3f371991">XSCL_FRCTLUMALEFT_VALUE_MASK</a>, <a class="el" href="group__scaler__v7__0.html#ga32b90b984d28f70ffa62839f42b51d57">XSCL_FRCTLUMATOP_OFFSET</a>, and <a class="el" href="group__scaler__v7__0.html#ga1db19f70cb816fb4c1796c42f25ced67">XSCL_FRCTLUMATOP_VALUE_MASK</a>.</p>

</div>
</div>
<a class="anchor" id="gafebe13974f673bd353037006d03c0b9c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float XScaler_Sine </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__coefs_8c.html">xscaler_coefs.c</a>&gt;</code></p>

<p>This Sine generation algorithm implements Taylor series decomposition of the Sine function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>is a float variable which needs to be set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns Taylor series.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>It works according to <a href="http://en.wikipedia.org/wiki/Taylor_series#Approximation_and_convergence">http://en.wikipedia.org/wiki/Taylor_series#Approximation_and_convergence</a> </dd></dl>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#ga1d67001f95f90ad1bdbcc8186ad0a824">XScaler_Lanczos()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga448998c4ce39ec903fc04ffbe8cb0161"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s16* XScaler_coef_table = NULL</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__coefs_8c.html">xscaler_coefs.c</a>&gt;</code></p>

<p>Coefficients table. </p>

<p>Referenced by <a class="el" href="group__scaler__v7__0.html#gab58cc7fda3710c523652c5a3fb8606b2">XScaler_GenCoefTable()</a>.</p>

</div>
</div>
<a class="anchor" id="ga59e75ae65e791e6f8c59aea4251a6c9e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XScaler_CoefficientBinScalingFactors[<a class="el" href="group__scaler__v7__0.html#ga34514a6a241c077925def186c8f574b9">XSCL_NUM_COEF_BINS</a>]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler__coefs_8c.html">xscaler_coefs.c</a>&gt;</code></p>
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">        20000,</div>
<div class="line">        625,</div>
<div class="line">        1250,</div>
<div class="line">        1875,</div>
<div class="line">        2500,</div>
<div class="line">        3125,</div>
<div class="line">        3750,</div>
<div class="line">        4375,</div>
<div class="line">        5000,</div>
<div class="line">        5625,</div>
<div class="line">        6250,</div>
<div class="line">        6875,</div>
<div class="line">        7500,</div>
<div class="line">        8125,</div>
<div class="line">        8750,</div>
<div class="line">        9375,</div>
<div class="line">        10000,</div>
<div class="line">        10000,</div>
<div class="line">        6666</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>XScaler_CoefficientsBinScalingFactors contains scaling factors calculated using (Output_Size * 10000 / Input_Size). </p>
<p>This table could help find the index of coefficient Bin given an input size and a output size. </p>

</div>
</div>
<a class="anchor" id="ga59e75ae65e791e6f8c59aea4251a6c9e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XScaler_CoefficientBinScalingFactors[<a class="el" href="group__scaler__v7__0.html#ga34514a6a241c077925def186c8f574b9">XSCL_NUM_COEF_BINS</a>]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="xscaler_8c.html">xscaler.c</a>&gt;</code></p>

<p>XScaler_CoefficientsBinScalingFactors contains scaling factors calculated using (Output_Size * 10000 / Input_Size). </p>
<p>This table could help find the index of coefficient Bin given an input size and a output size. </p>

</div>
</div>
</div><!-- contents -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
